package chapter08_class

/**
 * Created with IntelliJ IDEA.
 * ClassName: Test06__DynamicBind
 * Package: chapter08_class
 * Description:
 * User: fzykd
 * @Author: LQH
 *          Date: 2023-07-03
 *          Time: 10:28
 */

//测试多态
object Test06__DynamicBind {
  def main(args: Array[String]): Unit = {
    //动态绑定 类型是Person 创建的是Tea实例 调用的也是tea的属性和方法
    //但是在Java当中 只有方法是动态绑定的 调用属性依然是指定类型的
    val teacher:Person6 = new Tea
    teacher.hello
    println(teacher.name)

  }
}

class Person6{

  val name:String = "Person"

  def hello: Unit ={
    println("Person Hello")
  }

}


class Tea extends Person6{

  //这里是重写了父类的name属性 定义的关键是val 如果是var 定义的就是变量 重写就不在有意义
  //如果使用var定义的 并且重写了 不会有提示 但是编译报错
  override val name:String = "Teach"

  override def hello: Unit = println("Teacher Hello")


}